﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace E1_eMart.user
{
    public partial class ItemsWaitingComfirm : System.Web.UI.Page
    {
        public TaiKhoan account = new TaiKhoan();
        protected int loaiTaiKhoan = -1;

        protected void Page_Load(object sender, EventArgs e)
        {
            if (Session["username"] == null)
            {
                return;
            }
            account = ((TaiKhoan)Session["username"]);
            loaiTaiKhoan = (int)account.MaLoaiTaiKhoan;
        }

        protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                Label lbTenSP = (Label)e.Row.FindControl("lbTenSP");
                Label lbLoaiSP = (Label)e.Row.FindControl("lbLoaiSP");
                Label lbMoTaSP = (Label)e.Row.FindControl("lbMoTaSP");
                int msp = (int)GridView1.DataKeys[e.Row.RowIndex][1];
                DataClasses1DataContext edata = new DataClasses1DataContext();
                var itemQuery1 = from sp in edata.SanPhams
                                 where sp.MaSanPham == msp
                                 select sp;
                SanPham sanPham = new SanPham();
                sanPham = itemQuery1.ToList()[0];
                lbTenSP.Text = sanPham.TenSanPham;
                lbLoaiSP.Text = sanPham.LoaiSanPham.TenLoaiSanPham;
                lbMoTaSP.Text = sanPham.MoTaSanPham;
            }
        }

        protected void btnOK_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < GridView1.Rows.Count; i++)
            {
                CheckBox cb = (CheckBox)GridView1.Rows[i].FindControl("ckConfirm");

                //Nếu check thì chuyển tình trạng chi tiết đấu giá thành "Giao dịch thành công"
                if (cb.Checked == true)
                {
                    try
                    {
                        DataClasses1DataContext edata = new DataClasses1DataContext();
                        int mctdg = (int)GridView1.DataKeys[i][0];
                        var itemQuery3 = from ct in edata.ChiTietDauGias
                                         where ct.MaChiTietDauGia == mctdg
                                         select ct;
                        ChiTietDauGia chiTietDauGia = new ChiTietDauGia();
                        chiTietDauGia = itemQuery3.ToList()[0];
                        chiTietDauGia.TinhTrang = "Giao dịch thành công";
                        edata.SubmitChanges();                        

                        #region "Xử lý các thay đổi"

                        //Thêm mới vào bảng Giao dịch thành công
                        DauGiaThanhCong gdtc = new DauGiaThanhCong();
                        gdtc.MaTaiKhoan = chiTietDauGia.MaTaiKhoan;
                        gdtc.GiaKhopLenh = chiTietDauGia.GiaGiaoDich;
                        gdtc.MaChiTietDauGia = mctdg;
                        edata.DauGiaThanhCongs.InsertOnSubmit(gdtc);
                        edata.SubmitChanges();

                        //Chuyển tình trạng sản phẩm thành: "Chuyển khoản xong kết thúc"
                        var itemQuery4 = from sp in edata.SanPhams
                                         where sp.MaSanPham == chiTietDauGia.MaSanPham
                                         select sp;
                        SanPham sanPham = itemQuery4.ToList()[0];
                        sanPham.MaTinhTrangSanPham = 6; //Chuyển khoản xong kết thúc
                        edata.SubmitChanges();

                        #endregion

                        //Tăng điểm tín nhiệm mua cho người bán sản phẩm                        
                        int maTaiKhoanNguoiBan = -1;
                        var itemQuery5 = from sp in edata.SanPhams
                                         where sp.MaSanPham == chiTietDauGia.MaSanPham
                                         select sp.MaTaiKhoan;
                        maTaiKhoanNguoiBan = itemQuery5.ToList()[0].Value;

                        TaiKhoan taiKhoanNguoiBan = new TaiKhoan();
                        var itemQuery6 = from tk in edata.TaiKhoans
                                         where tk.MaTaiKhoan == maTaiKhoanNguoiBan
                                         select tk;
                        taiKhoanNguoiBan = itemQuery6.ToList()[0];
                        taiKhoanNguoiBan.DiemTinCayBan += 15; //Tăng 15 điểm.
                        edata.SubmitChanges();

                        //Thông báo
                        string strBuilder = "<script language='javascript'>alert('" + "Confirm Successful" + "')</script>";
                        Response.Write(strBuilder);
                    }
                    catch (Exception ex)
                    {
                        Response.Write(ex.Message);
                    }
                }            
            }
            GridView1.DataBind();
        }       
    }
}